A file format is the internal structure of a file that defines the way in which the file is stored. Application program modules typically create files that have a unique native file format. A file format may include various types of control instructions and codes used by application program modules and hardware devices. As an example, Microsoft Corporation's WORD application program module creates word processing documents in a native file format commonly known as "WORD format." Similarly, Novell Incorporated's WordPerfect application program module creates word processing documents in a native file format commonly known as "WordPerfect format." The native file format of one application program is generally distinct from and incompatible with the native file formats of other application programs.
The end-user's desire for compatibility has given rise to the practice of file format conversion. Most modern application program modules, including WORD and WordPerfect, are equipped with program modules, functions or routines, generally known as "converters." Converters provide functionality to enable an application program module to convert a file from a foreign format into a native file format. Converters are well known in the art for almost any type of application program module, including word processing programs, spreadsheet programs, graphic editing programs, desktop publishing programs, etc.
Converters may be operable to convert from a variety of foreign file formats. Converters thus provide an application program module with the ability to open files created by many different application program modules, including different versions of those applications. A converter will generally include a function or routine, referred to herein as a "recognition" function, that is operable to examine a foreign file to determine whether the converter is able to fully convert the foreign file format to a native file format, i.e. convert the foreign file without losing much, if any, of the style and presentation of its content. Generally, such a recognition function is called by the converter in response to the converter being called by the application program.
A typical recognition function may include the capability to examine the filename extension of a foreign file. A filename extension is often used to indicate that a file is of a particular format. As such, a recognition function may be able to determine that a file may be fully converted by a converter through examination of the foreign file's filename extension. Additionally, some recognition functions are able to examine the internal structure of a foreign file to determine whether the foreign file format may be fully converted. In any event, in order to determine whether a particular file format may be fully converted, an application program must be operated, a converter must be called by the application program, and a recognition function must be called by the converter.
When a recognition function does not recognize a foreign file format as one that can be fully converted, either a text-only conversion is performed or the user is prompted to manually identify the file format or terminate the conversion. Text-only conversion is often undesirable because it is not a full conversion. In a text-only conversion, almost all of the style and presentation of the content of the foreign file is usually lost. Manual interaction by the user is particularly undesirable with respect to a batch conversion of many files. A batch may contain hundreds or thousands of files in formats that are not recognized by the recognition function as being fully convertible. Required user interaction for each such file causes significant time and effort to be wasted.
Presently, in order to ensure a full and uninterrupted file conversion, the user must have advance knowledge that a particular foreign file format can be fully converted by an application program's converter. If the foreign file format is known to be fully convertible by the converter, the user can predict that the converter will not default to a text-only conversion or prompt the user for input. Therefore, with respect to a full and uninterrupted batch conversion, the user is presently forced to manually select a set of files from a directory that are known to be of a recognizable format. For directories of sufficient size, the selection of recognizable files can be tedious and time consuming.
Accordingly, there remains a need for determining, without user interaction, whether a file is in a particular file format. There also remains a need for accomplishing the automatic selection of files for a batch conversion. There further is a need for pre-determining whether a file is in a particular format, prior to the an attempted conversion of the file by an application program.